using System;
using System.Reflection;
using System.Runtime.InteropServices;
using Kitware.mummy.Runtime;

namespace Kitware.VTK;

/// <summary>
///    vtkAnnotatedCubeActor
/// </summary>
/// <remarks>
///    a 3D cube with face labels
///
/// vtkAnnotatedCubeActor is a hybrid 3D actor used to represent an anatomical
/// orientation marker in a scene.  The class consists of a 3D unit cube centered
/// on the origin with each face labelled in correspondence to a particular
/// coordinate direction.  For example, with Cartesian directions, the user
/// defined text labels could be: +X, -X, +Y, -Y, +Z, -Z, while for anatomical
/// directions: A, P, L, R, S, I.  Text is automatically centered on each cube
/// face and is not restriceted to single characters. In addition to or in
/// replace of a solid text label representation, the outline edges of the labels
/// can be displayed.  The individual properties of the cube, face labels
/// and text outlines can be manipulated as can their visibility.
///
/// @warning
/// vtkAnnotatedCubeActor is primarily intended for use with
/// vtkOrientationMarkerWidget. The cube face text is generated by vtkVectorText
/// and therefore the font attributes are restricted.
///
/// </remarks>
/// <seealso>
///
/// vtkAxesActor vtkOrientationMarkerWidget vtkVectorText
/// </seealso>
public class vtkAnnotatedCubeActor : vtkProp3D
{
	/// <summary>
	/// Automatically generated type registration mechanics.
	/// </summary>
	public new const string MRFullTypeName = "Kitware.VTK.vtkAnnotatedCubeActor";

	/// <summary>
	/// Automatically generated type registration mechanics.
	/// </summary>
	public new static readonly string MRClassNameKey;

	/// <summary>
	/// Automatically generated type registration mechanics.
	/// </summary>
	static vtkAnnotatedCubeActor()
	{
		MRClassNameKey = "class vtkAnnotatedCubeActor";
		Methods.RegisterType(Assembly.GetExecutingAssembly(), MRClassNameKey, Type.GetType("Kitware.VTK.vtkAnnotatedCubeActor"));
	}

	/// <summary>
	/// Automatically generated constructor - called from generated code.
	/// DO NOT call directly.
	/// </summary>
	public vtkAnnotatedCubeActor(IntPtr rawCppThis, bool callDisposalMethod, bool strong)
		: base(rawCppThis, callDisposalMethod, strong)
	{
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_New(ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	///             Undocumented Block
	/// </summary>
	public new static vtkAnnotatedCubeActor New()
	{
		vtkAnnotatedCubeActor result = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_New(ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			result = (vtkAnnotatedCubeActor)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var _);
		}
		return result;
	}

	/// <summary>
	///             Undocumented Block
	/// </summary>
	public vtkAnnotatedCubeActor()
		: base(IntPtr.Zero, callDisposalMethod: false, strong: false)
	{
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr rawCppThis = vtkAnnotatedCubeActor_New(ref mteStatus, ref mteIndex, ref rawRefCount);
		SetCppThis(rawCppThis, callDisposalMethod: true, (mteStatus != 0 && rawRefCount >= 2) ? true : false);
	}

	/// <summary>
	/// Automatically generated protected Dispose method - called from
	/// public Dispose or the C# destructor. DO NOT call directly.
	/// </summary>
	protected override void Dispose(bool disposing)
	{
		base.Dispose(disposing);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_GetActors_01(HandleRef pThis, HandleRef arg0);

	/// <summary>
	/// For some exporters and other other operations we must be
	/// able to collect all the actors or volumes. These methods
	/// are used in that process.
	/// </summary>
	public override void GetActors(vtkPropCollection arg0)
	{
		vtkAnnotatedCubeActor_GetActors_01(GetCppThis(), arg0?.GetCppThis() ?? default(HandleRef));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetAssembly_02(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	/// Get the assembly so that user supplied transforms can be applied
	/// </summary>
	public vtkAssembly GetAssembly()
	{
		vtkAssembly vtkAssembly2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_GetAssembly_02(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkAssembly2 = (vtkAssembly)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkAssembly2.Register(null);
			}
		}
		return vtkAssembly2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_GetBounds_03(HandleRef pThis, IntPtr bounds);

	/// <summary>
	/// Get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax). (The
	/// method GetBounds(double bounds[6]) is available from the superclass.)
	/// </summary>
	public new void GetBounds(IntPtr bounds)
	{
		vtkAnnotatedCubeActor_GetBounds_03(GetCppThis(), bounds);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetBounds_04(HandleRef pThis);

	/// <summary>
	/// Get the bounds for this Actor as (Xmin,Xmax,Ymin,Ymax,Zmin,Zmax). (The
	/// method GetBounds(double bounds[6]) is available from the superclass.)
	/// </summary>
	public override double[] GetBounds()
	{
		IntPtr intPtr = vtkAnnotatedCubeActor_GetBounds_04(GetCppThis());
		double[] array = null;
		if (IntPtr.Zero != intPtr)
		{
			array = new double[6];
			Marshal.Copy(intPtr, array, 0, array.Length);
		}
		return array;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetCubeProperty_05(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	/// Get the cube properties.
	/// </summary>
	public vtkProperty GetCubeProperty()
	{
		vtkProperty vtkProperty2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_GetCubeProperty_05(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkProperty2 = (vtkProperty)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkProperty2.Register(null);
			}
		}
		return vtkProperty2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern int vtkAnnotatedCubeActor_GetCubeVisibility_06(HandleRef pThis);

	/// <summary>
	/// Enable/disable drawing the cube.
	/// </summary>
	public int GetCubeVisibility()
	{
		return vtkAnnotatedCubeActor_GetCubeVisibility_06(GetCppThis());
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern double vtkAnnotatedCubeActor_GetFaceTextScale_07(HandleRef pThis);

	/// <summary>
	/// Set/Get the scale factor for the face text
	/// </summary>
	public virtual double GetFaceTextScale()
	{
		return vtkAnnotatedCubeActor_GetFaceTextScale_07(GetCppThis());
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern int vtkAnnotatedCubeActor_GetFaceTextVisibility_08(HandleRef pThis);

	/// <summary>
	/// Enable/disable drawing the vector text.
	/// </summary>
	public int GetFaceTextVisibility()
	{
		return vtkAnnotatedCubeActor_GetFaceTextVisibility_08(GetCppThis());
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern ulong vtkAnnotatedCubeActor_GetMTime_09(HandleRef pThis);

	/// <summary>
	/// Get the actors mtime plus consider its properties and texture if set.
	/// </summary>
	public override ulong GetMTime()
	{
		return vtkAnnotatedCubeActor_GetMTime_09(GetCppThis());
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern long vtkAnnotatedCubeActor_GetNumberOfGenerationsFromBase_10(HandleRef pThis, string type);

	/// <summary>
	///             Undocumented Block
	/// </summary>
	public override long GetNumberOfGenerationsFromBase(string type)
	{
		return vtkAnnotatedCubeActor_GetNumberOfGenerationsFromBase_10(GetCppThis(), type);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern long vtkAnnotatedCubeActor_GetNumberOfGenerationsFromBaseType_11(string type);

	/// <summary>
	///             Undocumented Block
	/// </summary>
	public new static long GetNumberOfGenerationsFromBaseType(string type)
	{
		return vtkAnnotatedCubeActor_GetNumberOfGenerationsFromBaseType_11(type);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetTextEdgesProperty_12(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	/// Get the text edges properties.
	/// </summary>
	public vtkProperty GetTextEdgesProperty()
	{
		vtkProperty vtkProperty2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_GetTextEdgesProperty_12(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkProperty2 = (vtkProperty)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkProperty2.Register(null);
			}
		}
		return vtkProperty2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern int vtkAnnotatedCubeActor_GetTextEdgesVisibility_13(HandleRef pThis);

	/// <summary>
	/// Enable/disable drawing the vector text edges.
	/// </summary>
	public int GetTextEdgesVisibility()
	{
		return vtkAnnotatedCubeActor_GetTextEdgesVisibility_13(GetCppThis());
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern double vtkAnnotatedCubeActor_GetXFaceTextRotation_14(HandleRef pThis);

	/// <summary>
	/// Augment individual face text orientations.
	/// </summary>
	public virtual double GetXFaceTextRotation()
	{
		return vtkAnnotatedCubeActor_GetXFaceTextRotation_14(GetCppThis());
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetXMinusFaceProperty_15(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	/// Get the individual face text properties.
	/// </summary>
	public vtkProperty GetXMinusFaceProperty()
	{
		vtkProperty vtkProperty2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_GetXMinusFaceProperty_15(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkProperty2 = (vtkProperty)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkProperty2.Register(null);
			}
		}
		return vtkProperty2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetXMinusFaceText_16(HandleRef pThis);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual string GetXMinusFaceText()
	{
		return Marshal.PtrToStringAnsi(vtkAnnotatedCubeActor_GetXMinusFaceText_16(GetCppThis()));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetXPlusFaceProperty_17(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	/// Get the individual face text properties.
	/// </summary>
	public vtkProperty GetXPlusFaceProperty()
	{
		vtkProperty vtkProperty2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_GetXPlusFaceProperty_17(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkProperty2 = (vtkProperty)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkProperty2.Register(null);
			}
		}
		return vtkProperty2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetXPlusFaceText_18(HandleRef pThis);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual string GetXPlusFaceText()
	{
		return Marshal.PtrToStringAnsi(vtkAnnotatedCubeActor_GetXPlusFaceText_18(GetCppThis()));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern double vtkAnnotatedCubeActor_GetYFaceTextRotation_19(HandleRef pThis);

	/// <summary>
	/// Augment individual face text orientations.
	/// </summary>
	public virtual double GetYFaceTextRotation()
	{
		return vtkAnnotatedCubeActor_GetYFaceTextRotation_19(GetCppThis());
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetYMinusFaceProperty_20(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	/// Get the individual face text properties.
	/// </summary>
	public vtkProperty GetYMinusFaceProperty()
	{
		vtkProperty vtkProperty2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_GetYMinusFaceProperty_20(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkProperty2 = (vtkProperty)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkProperty2.Register(null);
			}
		}
		return vtkProperty2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetYMinusFaceText_21(HandleRef pThis);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual string GetYMinusFaceText()
	{
		return Marshal.PtrToStringAnsi(vtkAnnotatedCubeActor_GetYMinusFaceText_21(GetCppThis()));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetYPlusFaceProperty_22(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	/// Get the individual face text properties.
	/// </summary>
	public vtkProperty GetYPlusFaceProperty()
	{
		vtkProperty vtkProperty2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_GetYPlusFaceProperty_22(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkProperty2 = (vtkProperty)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkProperty2.Register(null);
			}
		}
		return vtkProperty2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetYPlusFaceText_23(HandleRef pThis);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual string GetYPlusFaceText()
	{
		return Marshal.PtrToStringAnsi(vtkAnnotatedCubeActor_GetYPlusFaceText_23(GetCppThis()));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern double vtkAnnotatedCubeActor_GetZFaceTextRotation_24(HandleRef pThis);

	/// <summary>
	/// Augment individual face text orientations.
	/// </summary>
	public virtual double GetZFaceTextRotation()
	{
		return vtkAnnotatedCubeActor_GetZFaceTextRotation_24(GetCppThis());
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetZMinusFaceProperty_25(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	/// Get the individual face text properties.
	/// </summary>
	public vtkProperty GetZMinusFaceProperty()
	{
		vtkProperty vtkProperty2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_GetZMinusFaceProperty_25(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkProperty2 = (vtkProperty)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkProperty2.Register(null);
			}
		}
		return vtkProperty2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetZMinusFaceText_26(HandleRef pThis);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual string GetZMinusFaceText()
	{
		return Marshal.PtrToStringAnsi(vtkAnnotatedCubeActor_GetZMinusFaceText_26(GetCppThis()));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetZPlusFaceProperty_27(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	/// Get the individual face text properties.
	/// </summary>
	public vtkProperty GetZPlusFaceProperty()
	{
		vtkProperty vtkProperty2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_GetZPlusFaceProperty_27(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkProperty2 = (vtkProperty)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkProperty2.Register(null);
			}
		}
		return vtkProperty2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_GetZPlusFaceText_28(HandleRef pThis);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual string GetZPlusFaceText()
	{
		return Marshal.PtrToStringAnsi(vtkAnnotatedCubeActor_GetZPlusFaceText_28(GetCppThis()));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern int vtkAnnotatedCubeActor_HasTranslucentPolygonalGeometry_29(HandleRef pThis);

	/// <summary>
	/// Does this prop have some translucent polygonal geometry?
	/// </summary>
	public override int HasTranslucentPolygonalGeometry()
	{
		return vtkAnnotatedCubeActor_HasTranslucentPolygonalGeometry_29(GetCppThis());
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern int vtkAnnotatedCubeActor_IsA_30(HandleRef pThis, string type);

	/// <summary>
	///             Undocumented Block
	/// </summary>
	public override int IsA(string type)
	{
		return vtkAnnotatedCubeActor_IsA_30(GetCppThis(), type);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern int vtkAnnotatedCubeActor_IsTypeOf_31(string type);

	/// <summary>
	///             Undocumented Block
	/// </summary>
	public new static int IsTypeOf(string type)
	{
		return vtkAnnotatedCubeActor_IsTypeOf_31(type);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_NewInstance_33(HandleRef pThis, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	///             Undocumented Block
	/// </summary>
	public new vtkAnnotatedCubeActor NewInstance()
	{
		vtkAnnotatedCubeActor result = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_NewInstance_33(GetCppThis(), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			result = (vtkAnnotatedCubeActor)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var _);
		}
		return result;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_ReleaseGraphicsResources_34(HandleRef pThis, HandleRef arg0);

	/// <summary>
	/// Release any graphics resources that are being consumed by this actor.
	/// The parameter window could be used to determine which graphic
	/// resources to release.
	/// </summary>
	public override void ReleaseGraphicsResources(vtkWindow arg0)
	{
		vtkAnnotatedCubeActor_ReleaseGraphicsResources_34(GetCppThis(), arg0?.GetCppThis() ?? default(HandleRef));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern int vtkAnnotatedCubeActor_RenderOpaqueGeometry_35(HandleRef pThis, HandleRef viewport);

	/// <summary>
	/// Support the standard render methods.
	/// </summary>
	public override int RenderOpaqueGeometry(vtkViewport viewport)
	{
		return vtkAnnotatedCubeActor_RenderOpaqueGeometry_35(GetCppThis(), viewport?.GetCppThis() ?? default(HandleRef));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern int vtkAnnotatedCubeActor_RenderTranslucentPolygonalGeometry_36(HandleRef pThis, HandleRef viewport);

	/// <summary>
	/// Support the standard render methods.
	/// </summary>
	public override int RenderTranslucentPolygonalGeometry(vtkViewport viewport)
	{
		return vtkAnnotatedCubeActor_RenderTranslucentPolygonalGeometry_36(GetCppThis(), viewport?.GetCppThis() ?? default(HandleRef));
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern IntPtr vtkAnnotatedCubeActor_SafeDownCast_37(HandleRef o, ref uint mteStatus, ref uint mteIndex, ref uint rawRefCount);

	/// <summary>
	///             Undocumented Block
	/// </summary>
	public new static vtkAnnotatedCubeActor SafeDownCast(vtkObjectBase o)
	{
		vtkAnnotatedCubeActor vtkAnnotatedCubeActor2 = null;
		uint mteStatus = 0u;
		uint mteIndex = uint.MaxValue;
		uint rawRefCount = 0u;
		IntPtr intPtr = vtkAnnotatedCubeActor_SafeDownCast_37(o?.GetCppThis() ?? default(HandleRef), ref mteStatus, ref mteIndex, ref rawRefCount);
		if (IntPtr.Zero != intPtr)
		{
			vtkAnnotatedCubeActor2 = (vtkAnnotatedCubeActor)Methods.CreateWrappedObject(mteStatus, mteIndex, rawRefCount, intPtr, callDisposalMethod: true, out var found);
			if (found)
			{
				vtkAnnotatedCubeActor2.Register(null);
			}
		}
		return vtkAnnotatedCubeActor2;
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetCubeVisibility_38(HandleRef pThis, int arg0);

	/// <summary>
	/// Enable/disable drawing the cube.
	/// </summary>
	public void SetCubeVisibility(int arg0)
	{
		vtkAnnotatedCubeActor_SetCubeVisibility_38(GetCppThis(), arg0);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetFaceTextScale_39(HandleRef pThis, double arg0);

	/// <summary>
	/// Set/Get the scale factor for the face text
	/// </summary>
	public void SetFaceTextScale(double arg0)
	{
		vtkAnnotatedCubeActor_SetFaceTextScale_39(GetCppThis(), arg0);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetFaceTextVisibility_40(HandleRef pThis, int arg0);

	/// <summary>
	/// Enable/disable drawing the vector text.
	/// </summary>
	public void SetFaceTextVisibility(int arg0)
	{
		vtkAnnotatedCubeActor_SetFaceTextVisibility_40(GetCppThis(), arg0);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetTextEdgesVisibility_41(HandleRef pThis, int arg0);

	/// <summary>
	/// Enable/disable drawing the vector text edges.
	/// </summary>
	public void SetTextEdgesVisibility(int arg0)
	{
		vtkAnnotatedCubeActor_SetTextEdgesVisibility_41(GetCppThis(), arg0);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetXFaceTextRotation_42(HandleRef pThis, double _arg);

	/// <summary>
	/// Augment individual face text orientations.
	/// </summary>
	public virtual void SetXFaceTextRotation(double _arg)
	{
		vtkAnnotatedCubeActor_SetXFaceTextRotation_42(GetCppThis(), _arg);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetXMinusFaceText_43(HandleRef pThis, string _arg);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual void SetXMinusFaceText(string _arg)
	{
		vtkAnnotatedCubeActor_SetXMinusFaceText_43(GetCppThis(), _arg);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetXPlusFaceText_44(HandleRef pThis, string _arg);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual void SetXPlusFaceText(string _arg)
	{
		vtkAnnotatedCubeActor_SetXPlusFaceText_44(GetCppThis(), _arg);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetYFaceTextRotation_45(HandleRef pThis, double _arg);

	/// <summary>
	/// Augment individual face text orientations.
	/// </summary>
	public virtual void SetYFaceTextRotation(double _arg)
	{
		vtkAnnotatedCubeActor_SetYFaceTextRotation_45(GetCppThis(), _arg);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetYMinusFaceText_46(HandleRef pThis, string _arg);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual void SetYMinusFaceText(string _arg)
	{
		vtkAnnotatedCubeActor_SetYMinusFaceText_46(GetCppThis(), _arg);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetYPlusFaceText_47(HandleRef pThis, string _arg);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual void SetYPlusFaceText(string _arg)
	{
		vtkAnnotatedCubeActor_SetYPlusFaceText_47(GetCppThis(), _arg);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetZFaceTextRotation_48(HandleRef pThis, double _arg);

	/// <summary>
	/// Augment individual face text orientations.
	/// </summary>
	public virtual void SetZFaceTextRotation(double _arg)
	{
		vtkAnnotatedCubeActor_SetZFaceTextRotation_48(GetCppThis(), _arg);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetZMinusFaceText_49(HandleRef pThis, string _arg);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual void SetZMinusFaceText(string _arg)
	{
		vtkAnnotatedCubeActor_SetZMinusFaceText_49(GetCppThis(), _arg);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_SetZPlusFaceText_50(HandleRef pThis, string _arg);

	/// <summary>
	/// Set/get the face text.
	/// </summary>
	public virtual void SetZPlusFaceText(string _arg)
	{
		vtkAnnotatedCubeActor_SetZPlusFaceText_50(GetCppThis(), _arg);
	}

	[DllImport("Kitware.VTK.RenderingAnnotation.Unmanaged.dll", CallingConvention = CallingConvention.Cdecl)]
	internal static extern void vtkAnnotatedCubeActor_ShallowCopy_51(HandleRef pThis, HandleRef prop);

	/// <summary>
	/// Shallow copy of an axes actor. Overloads the virtual vtkProp method.
	/// </summary>
	public override void ShallowCopy(vtkProp prop)
	{
		vtkAnnotatedCubeActor_ShallowCopy_51(GetCppThis(), prop?.GetCppThis() ?? default(HandleRef));
	}
}
